package com.furb.pub.controle.produto;

public class ProdutoBase implements IProduto {

    private String nome;
    private String descricao;
    private float valor;

    public ProdutoBase() {
    }

    public ProdutoBase(String nome, float valor) {
        setNome(nome);
        setValor(valor);
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public float getValor() {
        return valor;
    }

    public void setValor(float valor) {
        this.valor = valor;
    }

    @Override
    public String toString() {
        return nome + " - " + valor;
    }

    public String toStringDao() {
        return nome + "#" + descricao + "#" + valor;
    }

    @Override
    public boolean equals(Object obj) {

        if (!(obj instanceof ProdutoBase)) {
            return false;
        }
        ProdutoBase produto = (ProdutoBase) obj;
        if (!produto.getNome().equalsIgnoreCase(getNome())) {
            return false;
        }

        return true;
    }

    @Override
    public int hashCode() {

        int hash = 7;
        hash = 23 * hash + (getNome() != null ? getNome().hashCode() : 0);
        return hash;

    }
}
